package 数据结构上

import scala.collection.mutable

object QueueDemo {
  def main(args: Array[String]): Unit = {

    val q1 = new mutable.Queue[Int]()
    /*这是不可变操作,会返回一个新的queue*/
    q1 :+ 1
    /*增加数据*/
    q1 += 2
    val list = List(3, 4)
    /*list集合被打散后加入到q1中*/
    q1 ++= list
    print(q1)

    /*弹出一个数据,从队列的头部,弹出之后该数据就不在了*/
    val i = q1.dequeue()

    /*入队列,默认从尾部加入队列*/
    q1.enqueue(222)
    print(q1)

    /*返回队列中的数据*/
    //返回第一个元素
    println(q1.head)
    //返回最后一个元素
    println(q1.last)
    //返回尾部元素,即返回除了第一个以外剩余的元素,可以级联使用,这个在递归时使用较多
    println(q1.tail)
    //意思就是忽略前两个取出后面所有
    println(q1.tail.tail)


  }

}
